package NC73_数组中出现次数超过一半的数字;

public class Solution {
    public int MoreThanHalfNum_Solution(int [] array) {
        int count = 0;
        int number = 0;
        // 战场上没有人，来的人留下
        // 战场上有人，是自己人，个数 count++
        // 有人，不是自己人， 个数减一
        // 众数大于总数的一半，一换一剩下的还是众数
        for (int n : array){
            if (count == 0){
                count = 1;
                number = n;
            }else if (n == number){
                count++;
            }else {
                count--;
            }
        }
        return number;
    }
}